﻿using System;
using System.ComponentModel;

namespace WinForms.Framework.Core
{
    /// <summary>
    /// ListItem をバインドするためのクラスです。
    /// </summary>
    /// <typeparam name="T">項目の基となるクラスを設定します。</typeparam>
    [Serializable]
    public abstract class BindingListItem<T> : BindingList<T> where T : new()
    {
        /// <summary>
        /// ListItem クラスのインスタンスを生成します。
        /// </summary>
        /// <param name="hasEmpty">項目に空行を含むかどうかを設定します。</param>
        protected BindingListItem(bool hasEmpty)
        {
            if (hasEmpty)
                Add(new T());
        }
    }
}